Method and system for code division multiple access communication with increased capacity through self-noise reduction

ABSTRACT

A method and system for constructing orthogonal codes of length N for use in a network utilizing quasi-synchronous code division multiple access combined with time division duplexing. The method determines the balanced vectors of length N, being all possible cross-correlation vectors resulting from zero cross-correlation of codes of length N. An arbitrary code of length N is utilized, and a bitwise XOR-ing is performed with all the balanced vectors to produce a set of codes with which the arbitrary code is orthogonal. A bitwise XOR-ing of the original balanced vectors is performed and the code is added to a set of orthogonal codes if the result of the bitwise XOR-ing of the original balanced vectors is balanced. The method is repeated until the set of orthogonal codes is complete.

PRIORITY

[0001] This is a continuation application of U.S. application Ser. No.09/306,589, filed on May 6, 1999. This application claims the benefit ofthe filing date of U.S. patent application Ser. No. 60/084,439, filed onMay 6, 1998, for “METHOD AND APPARATUS FOR CODE DIVISION MULTIPLE ACCESSCOMMUNICATION WITH INCREASED CAPACITY THROUGH SELF-NOISE REDUCTION” toMennekens, et al.

FIELD OF THE INVENTION

[0002] The invention is situated in the field of Quasi Synchronous CodeDivision Multiple Access combined with Time Division Duplexing.

DESCRIPTION OF THE RELATED TECHNOLOGY

[0003] CDMA (Code Division Multiple Access) is one of the leadingtechnologies in today's and future wireless and wireline communicationssystems.

[0004] Also known as Direct Sequence Spread Spectrum, CDMA is the bestknown representative of the class of spread spectrum modulation schemes.A CDMA waveform is generated by spreading (EXOR-ing) the data streamwith a PN-code, resulting in a higher bandwidth, usually at lower powerspectral density. Different users are multiplexed by using orthogonal orquasi-orthogonal codes.

[0005] CDMA is used for a variety of reasons. CDMA has its origin in themilitary, where use of PN-codes (Pseudo Noise) was exploited for thesake of its Low Probability of Intercept (LPI) or its Low Probability ofDetection (LPD). Since the late eighties, civil applications started tobe developed, and have now reached a high level of maturity and marketpenetration. Advantages of spread spectrum include the inherentinterference rejection capabilities, the efficient way for multiplexingmultiple services, the higher capacity, a more efficient use of thespectrum and the lower terminal costs.

[0006] In satellite communications, CDMA is being exploited for lowrate, medium rate as well as broadband type of communications. Low rateapplications include, e.g., SMS (Short Messaging Services), E-mail oversatellite, remote meter reading, voice and data services (fax), andpositioning and geolocation applications.

[0007] When used in the VHF and UHF bands, one talks about the so-called‘Little LEO’ (Low Earth Orbit) applications. CDMA is used for itscapability of coping with high interference levels in these bands, andbecause it allows to multiplex a high amount of users with limitedprotocol overhead. In order to provide global coverage, they are usuallystore-and-forward satellite systems with sophisticated OBP (On-BoardProcessing) capabilities.

[0008] Data and fax services using CDMA are found in the L and S bands(in the case of the so-called ‘big LEO’ constellations) and Ku-bands(when using transponders of GEO satellites). Different systems can sharethe same part of the spectrum. Cost-effective terminals are possible byexploiting a high degree of on-chip integration.

[0009] The Ku-band frequencies are mostly used by geostationarysatellites, for applications such as DBS (Direct Broadcasting bySatellite). With the enormous growth of the demand for medium rate dataservices (mostly for the transport of Internet data), transponders inKu-band are increasingly used also for implementing these data services(multiples of 64 kbps net user data rate).

[0010] CDMA-based solutions have an important cost advantage over thetraditional PSK-based VSAT solutions. Ground station development isfacilitated using the CDMA DataSat Development System. Other applicationexamples in the Ku-band include the combination of terrestrial low costnetworks (based on DECT) with a S-CDMA (Synchronous CDMA) satellite formultiplexing the different telephone channels. In more and more cases,CDMA is being used as an overlay to existing satellite services. This isa very efficient use of spread spectrum in view of the limited spectrumbeing available. One such example is D-SNG (Digital Satellite NewsGathering), where the CDMA-based coordination channels are put on top ofthe transponder QPSK DVB (Digital Video Broadcasting) signals.

[0011] Besides the ongoing developments using existing GEO capacity,LEO-based satellite systems are under development to provide truebroadband access to individual users, using CDMA technology. SeveralMbit/s can be offered to the individual user. In some cases, thesespread spectrum high-rate applications share the spectrum with other,non-CDMA services, by realizing links with very low power spectraldensity.

[0012] CDMA Applications

[0013] Probably the best known satellite application using CDMAtechnology is navigation. Both GPS (Global Positioning System) andGLONASS (GLObal Navigation Satellite System, the Russian counterpart)use Direct Sequence Spread Spectrum waveforms for obtaining accuratepseudo-range measurements, which are the raw data to calculate aposition fix. GPS has been complemented with the EGNOS (EuropeanGeostationary Navigation Overlay System) and the American WAAS (WideArea Augmentation System), to increase the performance.

[0014] Proposed European GNSS-2 (Global Navigation Satellite System)will provide higher accuracy and increased data rate using moresophisticated waveforms. Besides the vast consumer market for standardreceivers, there's also a professional market for RTK (Real-TimeKinematic) receivers. These applications exploit the increased accuracyassociated with tracking (or pseudo-tracking) of the P-Code(PrecisionCode) of GPS or GLONASS satellites. Alternative navigation systems arebeing developed, based on combined pseudo-range and Dopplermeasurements.

[0015] In wireless terrestrial communications, one can make adistinction between applications in licensed and in unlicensed bands.

[0016] UMTS Applications

[0017] In licensed bands, the best known system under development is theUMTS (Universal Mobile Telecommunications System), based on W-CDMA(Wideband CDMA) technology. Worldwide, this development fits in theIMT-2000 (International Mobile Telephone System) initiative from theITU, which aims at realizing a true worldwide applicable 3G standard.The benefits of CDMA exploited here are the ability to merge differenttypes of services (voice, data, video) over the same band, usingorthogonal PN sequences of different lengths, leading to the bestcapacity(bits/Hz). This so-called 3G (3rd Generation) cellular networkswill be commercially exploited from 2001 on, as an extension to theworldwide deployed GSM networks.

[0018] The provision of the license-free ISM(Industrial, Scientific andMedical) bands has boosted a lot of other terrestrial wirelessapplications. Well-known ISM bands are the 902-928 MHz band in the US,and the 2.4-2.4835 GHz band worldwide. CDMA is used here for its abilityto share the same spectrum with other applications. Short range and Longrange communications are being realized in these shared bands,efficiently rejecting the MAI (Multiple Access Interference). Data ratesof several hundreds of kilobits per second are possible in this way.

[0019] Furthermore, applications such as from CATV modems and powerlinemodems also benefit CDMA, as once again the unwanted unpredictableinterference (e.g., ingress noise cancelled) is efficiently through theprocessing gain of the spread spectrum modulation scheme.

[0020] U.S. Pat. No. 5,872,810 and European Patent ApplicationEP-A-0767544 describe a flexible hardware platform on which any PN codefamily can be downloaded on on-chip RAM; the PN code properties andtheir influence on the performance of a CDMA link can be analyzed withthis platform and these documents further describe a CDMA transceiverintegrated circuit on which any PN codes can be stored on on-chip RAM.

[0021] De Gaudenzi et al. describe in U.S. Pat. No. 5,327,467 aCDMA-based system primarily of interest for mobile communications.

[0022] In U.S. Pat. No. 5,327,455, they describe a QPSK/CDMA modulationscheme, using preferentially phased Gold codes for spreading the datastreams;

[0023] In R. De Gaudenzi, C. Elia and R. Viola, “Bandlimitedquasi-synchronous CDMA: A novel access technique for mobile and personalcommunication systems,” IEEE Selected Areas in Communications, vol. 10,no. 2, pp. 328-348, February 1992, CDMA-base satellite communicationssystem exploiting Quasi-Synchronous CDMA in order to obtain a highefficiency together with interference rejection capabilities aredescribed.

SUMMARY

[0024] One aspect of the present invention is a method of constructingorthogonal codes of length N for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, the method comprising a) determining the balancedvectors of length N, being all possible cross-correlation vectorsresulting from zero cross-correlation of codes of length N; b) providingan arbitrary code of length N; c) performing bitwise XOR-ing with allthe balanced vectors determined in a), to produce a set of codes withwhich the arbitrary code is orthogonal; d) performing bitwise XOR-ing ofthe balanced vectors determined in a); e) adding the code to a set oforthogonal codes if the result of d) is balanced; f) performing a)-e)until the set of orthogonal codes is complete; and g) applying the setof orthogonal codes to a plurality of data streams in the network so asto provide spread spectrum data streams.

[0025] Another aspect of the present invention is a method of derivingalternative sets of orthogonal codes for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, the method comprising a)representing a givenorthogonal code set as a matrix in N*N matrix format with N being aneven number for binary codes, and being an integer for non-binary codes;and b)performing at least one of the following on the N*N matrix of a):

[0026] Exchanging columns in the matrix;

[0027] Exchanging rows in the matrix;

[0028] Inverting columns in the matrix;

[0029] Inverting rows in the matrix;

[0030] so as to obtain an alternative set of orthogonal codes.

[0031] A further aspect of the present invention is a method of derivinga subset out of N codes of length N, with N being an even number forbinary codes and being an integer for non-binary codes, for use in anetwork utilizing quasi-synchronous code division multiple accesscombined with time division duplexing, for which all mutualcross-correlation functions are zero over more than one subsequentpoint, starting with the first point of the cross-correlation function,the method comprising a)selecting an orthogonal code set; b) derivingalternative sets of orthogonal codes for use in the network so as togroup zeros in the cross-correlation function as the first points of thecross-correlation function; c) selecting the solutions which have awell-peaked response by investigating auto-correlation functions duringthe search process; and d) applying the solutions selected in c) to aplurality of data streams in the network so as to provide spreadspectrum data streams.

[0032] Another aspect of the present invention is a method of deriving Morthogonal codes of length N+M for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, the method comprising concatenating a set of Morthogonal codes of length N and a set of M orthogonal codes of lengthM, respectively.

[0033] Another aspect of the present invention is a method ofconstructing binary codes for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing from a combination of two different sets of codes,the method comprising providing a first code of one of the sets as agenerator; providing a second code of one of the sets as a seed;replacing a bit of the first code by the corresponding bit of the secondcode if the corresponding bit is a zero, or replacing the bit by thebit-inverse of the corresponding bit of the second code if thecorresponding bit is a one; and applying the resulting code to aplurality of data streams in the network so as to provide spreadspectrum data streams.

[0034] Another aspect of the present invention is a method of fastacquisition of auto-correlation peaks for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, using codes with equally-spaced peaks, the methodcomprising searching for a auto-correlation peak; testing for thevalidity of the choice; if the choice is not correct, testing the nextauto-correlation peak; and if the choice is correct, applying the chosencodes to a plurality of data streams in the network so as to providespread spectrum data streams.

[0035] Another aspect of the present invention is a method of obtaininga higher aggregate network capacity through reduction of thecross-correlations between concurrent transmissions in a networkutilizing quasi-synchronous code division multiple access combined withtime division duplexing, the method comprising extending a direct spreadsymbol with a partial duplication of the direct spread symbol, resultingin even cross-correlation.

[0036] Another aspect of the present invention is time division duplexcommunication system using synchronous code division multiple access(S-CDMA) communication in the forward link between one master stationand multiple slave stations, and quasi synchronous code divisionmultiple access (QS-CDMA) in the return link between the multiple slavestations, the system comprising a master station transmit cycleconfigured to synchronize the slave stations to a beacon signaltransmitted by the master station, acknowledge each of the codes by theone master station from a slave station transmit cycle received from anysuccessfully demodulated slave stations, and transmit direct spread datato any earlier already acknowledged slave stations; the slave stationtransmit cycle configured to transmit, by each slave station havingobtained the synchronization, a code selected from a list to the masterstation, or transmit data, direct spread by the code from slave stationsalready having received the acknowledgement from the master stationtransmit cycle; and a repeat loop to return the system to the masterstation transmit cycle.

[0037] Another aspect of the present invention is a method ofconstructing non-binary digital orthogonal code sequences of length N,with N any natural number, for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, the method comprising providing a unity base in anN-dimensional vector space, V, having operations comprising addition ofvectors (+) and scalar product of vectors (.); applying consecutive basetransformations to the base; representing the resulting base vectors bytheir coordinates in the N-dimensional vector space to obtain a set oforthogonal codes; and applying the set of orthogonal codes to aplurality of data streams in the network so as to provide spreadspectrum data streams. The base transformations can comprise selectingtwo base vectors out of the N base vectors; determining the planedefined by the two base vectors; and rotating the two base vectors overthe same angle in the plane.

BRIEF DESCRIPTION OF THE DRAWINGS

[0038]FIG. 1 illustrates an example dynamic code allocation andcontention resolution cycle in a wireless communication network of thepresent invention.

[0039]FIG. 2 illustrates the code set generated by a method of theinvention wherein the quality of the signal is maintained due to theout-phase cross-correlation.

DETAILED DESCRIPTION OF THE INVENTION

[0040] The invention is a method of multiplexing users in a networkusing QS-CDMA combined with TDD. The Quasi-Synchronous Communication inthe return link (i.e., from user terminal to base station) is realizedby RX/TX switching at the user terminals based on reception of anend-of-transmit bit. Due to propagation time differences, the arrivaltimes of symbol edges at the base station side are not perfectlysynchronous. However, the codes used are such that the cross-correlationis minimal. In a described variant of the system, perfectly zerocross-correlation is obtained between the quasi-synchronous returnlinks. The net effect is a minimized or zero self-noise, increasing theavailable Eb/NØ and ameliorating the BER, compared to systems with selfnoise. The net effect is an increased capacity for the same Eb/NØ andBER as in systems with self-noise. Code construction methods aredescribed in the invention.

[0041] The application domain of the invention comprises (non-limitativelist): satellite communications with mobile and fixed terminals,cellular communications, short-range terrestrial communications (likefor data collection), CATV upstream/downstream modems, powerline modems,copper-wire telephone lines.

[0042] The following abbreviations are used in this patent application:

[0043] BER: Bit Error Rate

[0044] BPSK: Binary Phase Shift Keying

[0045] CATV: Community Antenna Television, i.e., cable TV

[0046] CDMA: Code Division Multiple Access

[0047] Chip: PN-Code bit

[0048] CSM: Code Shift Modulation

[0049] DSRC: Dedicated Short Range Communication

[0050] Eb: Energy per bit

[0051] NØ: Noise Power Density

[0052] PN: Pseudo Noise

[0053] QS-CDMA: Quasi Synchronous CDMA

[0054] RX: Receive

[0055] S-CDMA: Synchronous CDMA

[0056] TDD: Time Division Duplexing

[0057] TDMA: Time Division Multiple Access

[0058] TX: Transmit

[0059] The invention will be illustrated using several non-limitingexamples and figures.

[0060] Truly orthogonal PN codes which are currently used, such as Walshcodes in the IS-95 system or OVSF (Orthogonal Variable Spreading Factor)codes in the UMTS system, lack the possibility of being used for chipphase acquisition. In systems where composed waveforms are not required,the truly orthogonal codes derived in this invention can be used forchip phase acquisition, while full orthogonality (and hence absence ofcross-correlation) is preserved, and alleviating the need for powercontrol;

[0061] Existing quasi-synchronous CDMA proposals can be simplified usingthe method described in this invention to guarantee evencross-correlation over the uncertainty range of the chip phase controlloop. An important application is mobile satellite communications, wherea relaxed control loop is sufficient to keep the cross-correlation low,with only a small penalty in capacity loss.

[0062] For short-range applications, the TDD network is of particularinterest because it provides dynamic multiple access capabilitieswithout a chip phase control loop.

[0063] These methods and implementations are particularly useful in theincreasing number of CDMA-based terrestrial and satellite proprietaryapplications which are currently developed.

EXAMPLE 1

[0064] A Method for the Construction of Orthogonal Binary Codes

[0065] If two codes are orthogonal then the result of thecross-correlation function is zero. (CC(A,B)=0<=>(A XOR B) is balanced)

[0066] If PN-Code A and PN-Code B are orthogonal (with A XOR B=R) and ifPN-Code A and PN-Code C are orthogonal (with A XOR C=S) and if PN-Code Rand PN-Code S are orthogonal then PN-Code B and PN-Code C areorthogonal. In other words, the initial orthogonal PN-code set {A,B} hasbeen extended with the new PN-Code C to a new orthogonal set {A,B,C}.$\begin{matrix}{{{CC}( {R,S} )} = {{0 <}\quad = {> \quad {( {R\quad {XOR}\quad S} )\quad {is}\quad {balanced}\quad {substitution}}}}} \\{< \quad {= {> \quad {( {( {A\quad {XOR}\quad B} )\quad {XOR}\quad ( {A\quad {XOR}\quad C} )} )\quad {is}\quad {balanced}}}}} \\{{x\quad {XOR}\quad ( {y\quad {XOR}\quad z} )} = \quad {{( {x\quad {XOR}\quad y} )\quad {XOR}\quad z} = {x\quad {XOR}\quad y\quad {XOR}}}} \\{\quad {{x\quad {XOR}\quad y} = \quad {y\quad {XOR}\quad x}}} \\{< \quad {= {> \quad {( {( {A\quad {XOR}\quad A} )\quad {XOR}\quad ( {B\quad {XOR}\quad C} )} )\quad {is}\quad {balanced}}}}} \\{{x\quad {XOR}\quad x} = \quad 0} \\{< \quad {= {> \quad {( {0\quad {XOR}\quad ( {B\quad {XOR}\quad C} )} )\quad {is}\quad {balanced}}}}} \\{{x\quad {XOR}\quad 0} = \quad x} \\{< \quad {= {> \quad {( {B\quad {XOR}\quad C} )\quad {is}\quad {balanced}}}}} \\{< \quad {= {{> \quad {{CC}\quad ( {B,C} )}} = 0}}}\end{matrix}$

Example 1A

[0067] $\begin{matrix}{{{A = 1001},{B = {0011 = {{> \quad R} = {{A\quad {XOR}\quad B} = {{1001\quad {XOR}\quad 0011} = 1010}}}}}}\quad} \\{\quad ({balanced})} \\{{{A = 1001},{C = {1111 = {{> \quad S} = {{A\quad {XOR}\quad C} = {{1001\quad {XOR}\quad 1111} = 0110}}}}}}\quad} \\{\quad ({balanced})} \\{{R = 1010},{S = {0110 = {{> \quad {R\quad {XOR}\quad S}} = {{1010\quad {XOR}\quad 0110} = 1100}}}}} \\{\quad ({balanced})} \\{= {{> \quad {B\quad {XOR}\quad C}} = {{0011\quad {XOR}\quad 1111} = 1100}}} \\{\quad ({balanced})}\end{matrix}$

[0068] A, B and C are a set of three orthogonal codes.

[0069] These steps can be repeated with all the PN-Codes that areorthogonal with A, until the results aren't balanced anymore.

[0070] The number of codes that are balanced is:

[0071] n!/((n/2)!*(n/2)!)

[0072] with n=number of chips in the PN-Code and n is always even.

Example 1B

[0073] $\begin{matrix}{n = {4 = {{> \quad {{4!}/( {{2!}*{2!}} )}} = 6}}} \\{= {> \quad {{6\quad {balanced}\quad 4} - {{bit}\quad {PN}} - {Codes}}}} \\{= {> \quad {0011\quad 0101\quad 0110\quad 1001\quad 1010\quad 1100}}}\end{matrix}$

[0074] The decimal representation of these codes is: 3, 5, 6, 9, 10 and12

[0075] If one takes an arbitrary 4-bit PN-code and wants to find all thePN-codes that are orthogonal with this arbitrary PN-Code, one can usethe balanced codes and XOR them with the arbitrary PN-Code. This willresult in a set of PN-Codes that are orthogonal.

[0076] X XOR balanced_code=Y<=>X XOR Y=balanced_code

[0077] <=>CC(X,Y)=0

Example 1C

[0078] Decimal representation of the binary code is used.

[0079] Arbitrary code=13 (=1101), balanced codes={3, 5, 6, 9, 10, 12}$\begin{matrix}{{13\quad {XOR}\quad 3} = 14} & \quad & {{13\quad {XOR}\quad 14} = 3} & \quad & {{{CC}( {13,14} )} = 0} \\{\quad {{13\quad {XOR}\quad 5} = 8}\quad} & \quad & {\quad {{13\quad {XOR}\quad 8} = 5}} & \quad & {\quad {{{CC}( {13,8} )} = 0}} \\{{13\quad {XOR}\quad 6} = 11} & {< \quad {= >}} & {{13\quad {XOR}\quad 11} = 6} & {< \quad {= >}} & {{{CC}( {13,11} )} = 0} \\{\quad {{13\quad {XOR}\quad 9} = 4}\quad} & \quad & {\quad {{13\quad {XOR}\quad 4} = 9}} & \quad & {\quad {{{CC}( {13,4} )} = 0}} \\{{{13\quad {XOR}\quad 10} = 7}\quad} & \quad & {\quad {{13\quad {XOR}\quad 7} = 10}} & \quad & {\quad {{{CC}( {13,7} )} = 0}} \\{{13\quad {XOR}\quad 12} = 1} & \quad & {\quad {{13\quad {XOR}\quad 1} = 12}} & \quad & {\quad {{{CC}( {13,1} )} = 0}}\end{matrix}$

[0080] We now have all the PN-Codes that are orthogonal with thearbitrary PN-code, by checking the cross-correlation of balancedresults, we can find PN-Codes that are mutually orthogonal and so extendthe orthogonal set of PN-Codes. As an example, one can check the resultof 13 XOR 14 (=3) with all other results. $\begin{matrix}{{3\quad {XOR}\quad 5} = 6} & \quad & {{{{CC}( {14,8} )} = 0}\quad} & \quad & {{{CC}( {13,14,8} )} = 0} \\{{3\quad {XOR}\quad 6} = 5} & \quad & {{{{CC}( {14,11} )} = 0}\quad} & \quad & {{{{CC}( {13,14,11} )} = 0}\quad} \\{\quad {{3\quad {XOR}\quad 9} = 10}} & {< \quad {= >}} & {{{CC}( {14,4} )} = 0} & {< \quad {= >}} & {{{CC}( {13,14,4} )} = 0} \\{{{3\quad {XOR}\quad 10} = 9}\quad} & \quad & {{{CC}( {14,7} )} = 0} & \quad & {{{CC}( {13,14,7} )} = 0} \\{{3\quad {XOR}\quad 12} = 15} & \quad & {{NOT}\quad {balanced}} & \quad & \quad\end{matrix}$

[0081] One can repeat this check with the result of 3 XOR 5 (=6) and allother balanced results. $\begin{matrix}{{6\quad {XOR}\quad 5} = 3} & \quad & {{{{CC}( {8,11} )} = 0}\quad} & \quad & {{{CC}( {13,14,8,11} )} = 0} \\{{6\quad {XOR}\quad 10} = 12} & {< \quad {= >}} & {{{CC}( {8,4} )} = 0} & {< \quad {= >}} & {\quad {{{CC}( {13,14,8,4} )} = 0}} \\{{6\quad {XOR}\quad 9} = 15} & \quad & {{NOT}\quad {balanced}} & \quad & \quad\end{matrix}$

[0082] One can repeat the check again with the result of 6 XOR 5 (=3)and the one of 6 XOR 10 (=12)

[0083] 3 XOR 12 =15<=>NOT balanced

[0084] So (8,11,13,14) and (4,8,13,14) are orthogonal code sets.

EXAMPLE 2

[0085] A Method for Deriving Alternative Sets of Orthogonal Codes

[0086] If one has a set of orthogonal codes, presented in matrix format,(with the first even cross-correlation point equal to zero), then a newset of orthogonal codes can be obtained by

[0087] A: Permutation of the columns;

[0088] B: Permutation of the rows;

[0089] C: Inverting an arbitrary column;

[0090] D: Inverting an arbitrary row.

Example 2A

[0091] 4 orthogonal codes as starting point. 0000 col2 0000 col4 0001row4 0001 0101 o 0011 ι 0010 ι 0010 0011 col3 0101 !col4 0100 !row4 01000110 0110 0111 1000

[0092] This is in fact a set suited for CSM which is orthogonal.

EXAMPLE 3

[0093] A Method for the Construction of Even Zero Cross-correlationCodes for a Number of Consecutive Points.

[0094] Perform the manipulations on a set of orthogonal codes, like inexample 2, in order to obtain a subset of codes with a number ofconsecutive points (greater than 1) equal to zero. Investigate theauto-correlation functions during the search process in order to retainthe solutions which have a well peaked response.

EXAMPLE 4

[0095] A Method for the Construction of Even Zero Cross-correlationCodes of Length N+M, Given Orthogonal Codes of Length N and M.

[0096] These codes are generated by concatenating the codes with lengthN and M in order to obtain a new code with length N+M.

Example 4A

[0097] N=8 and M=4, then 4 orthogonal codes of length 12 can be made.

EXAMPLE 5

[0098] A Method for Constructing Codes Out of a Combination of TwoDifferent Sets.

[0099] 1. Take one code (or code family) A (the ‘generator’)

[0100] 2. Take a second code (or code family) B (the ‘seed’)

[0101] 3. Replace every bit of code A by code B, taking code B if thebit in code A is zero, taking the bit-inverse of code B if the bit incode A is one.

[0102] This gives a new code of length A*B, called a ‘genetic’ code

Example 5A

[0103] Code A=1010, Code B=1110=>combined (genetic) code=$\begin{matrix}{{{{Code}\quad A} = \quad 1010},{{{Code}\quad B} = 1110}} \\{= {{> \quad {{{combined}{\quad \quad}({genetic})}\quad {code}}} = \begin{matrix}0001 & 1110 & 0001 & 1110 \\{!B} & B & {!B} & B\end{matrix}}}\end{matrix}$

[0104] Properties regarding auto- and cross-correlation of the‘generator’ code are preserved, but mixed/modified with the propertiesof the ‘seed’ code.

[0105] Assume a code A with good cross-correlation, but badauto-correlation properties and assume a code B with goodcross-correlation and good auto-correlation properties, then a new codecan be constructed with good cross-correlation properties and anauto-correlation profile containing several, equally-spaced peaks. Thedistance between the peaks is the length of code B, and the number ofpeaks is the length of code A.

[0106] Code families can be constructed with predictable properties, ofany given length (extensive investigation required to search for exactquality transfer capabilities).

[0107] A consequence of examples 1 to 5 is that manipulation allows tohave any code of a certain length in some set. Hence spectralproperties, autocorrelation profile, etc. can be influenced in this way.

EXAMPLE 6

[0108] A Method for a PN-Code Fast Acquisition, Using Codes with EquallySpaced Peaks.

[0109] Given a code with not one, but several equally-spacedauto-correlation peaks, it is possible to reduce the acquisition timewith the following algorithm:

[0110] 1. Search for any auto-correlation peak in the code using anymethod;

[0111] 2. Test for the validity of the choice (since there are severalpossibilities) e.g., by demodulating a few bits;

[0112] 3. If the choice is not correct, immediately test the nextauto-correlation peak. The position of this peak is already known, sincethey are equidistant;

[0113] 4. If the choice is valid, the acquisition is obtained.

[0114] The advantage here is the dramatically reduced acquisition time,required for long codes.

EXAMPLE 7

[0115] A Method to Guarantee an Even Cross-correlation on the FirstSymbol Sent.

[0116] The symbols are sent out twice, in order to guarantee the firstsymbol always being in the presence of even cross-correlation only. Thiscan be further extended by also providing a repetition before the symbolof interest (to allow both mutually advanced and retarded simultaneouslinks). The technique can be optimized by a PARTIAL duplication beforeand after the symbol of interest, just enough to provide even crosscorrelation in all circumstances.(This requires an adaptation of theactive integration times at the base station).

Example 7A

[0117] code 1101011101 extended code 1011101011101110

[0118] In cases were only a limited set of codes is required (andfurthermore the external interference rejection rather than the capacityof the system is important), full-zero even cross correlation can beobtained always, by applying the technique of doubling the data bitssent out.

[0119] In the two cases above, zero self-noise is obtained duringtracking.

[0120] If the propagation delay between base station (gateway, hub,headend, . . . ) and user terminal is too high, it can be possible thatsynchronization within 1 symbol period (or within N chips) is impossibleby simple TDD. In this case, a relaxed pilot concept (cfr. BLQS-CDMA R.De Gaudenzi) can be applied, still preserving the zero self-noiseachievement. So this becomes also valid for satellite communicationsnetworks.

Example 7B

[0121] A Cellular Network

[0122] The capacity of a cellular network or any other network that isinterference-limited can be increased with the described technique. Animportant consequence and advantage of the zero self-noise property isthe fact that tight transmit power control can be relaxed or evenbecomes obsolete.

[0123] What is still of importance however is the multipath degradation.In order to solve this, systems like IS-95 networks use Gold codescrambling to ameliorate the autocorrelation profile of the proposedcodes. However, by applying the RULES above, the start set of orthogonalcodes is scrambled and randomized, resulting in better autocorrelationproperties.

[0124] CALCULATIONS for Cellular Network

[0125] Suppose a symbol rate of 5 kSps and a cell radius of 5 km. Theworst case direct path propagation time then equals:

10·10³·5·10³/3·10⁸=⅙th symbol period

[0126] This means that for a code length 16, three consequent zero'sneed to exist in the mutual even cross-correlation's. As more processinggain is left, due to minimized or zero self-noise, the FEC overhead canbe minimized as well, again contributing to higher capacity. Otherwise,short codes will give rise to the best chances for relatively long runsof even zero cross-correlation. But this is good, as the absolute timeof even zero cross-correlation is important, in the light of catchingthe propagation time uncertainty. The smaller channels, resulting fromthe shorter codes, can suffer more co-channel interference (overlappingchannels) due to the higher processing gain available.

EXAMPLE 8

[0127] An Apparatus (Implemented Network) with a TDD Layer for theQS-CDMA Return Link, Dynamic Code Allocation and Contention Resolution

[0128] The implementation of the network, as shown in FIG. 1, is basedon 3 sub-cycles:

[0129] 1.: SUB-CYCLE 1 (Log-On Phase)

[0130] The MASTER transmits a cell identifier and a list of free codes(or code sets) to be used by the SLAVES in the Collision ResolvingPhase. The MASTER uses a reserved PN-Code, the“MASTER-broadcast-code”.The SLAVES are in standby mode and are searching for this message. Onesthe message has been received, the transmitters of the SLAVES will besynchronized. An FFT was also taken, so a precompensated carrier can beused in the next sub-cycle.

[0131] 2. SUB-CYCLE 2 (Collision Resolving Phase)

[0132] All the SLAVES try to transmit with one code from the list,selected randomly. The start epochs of the different SLAVES will besynchronized as good as possible, in order to reduce thecross-correlation energy as much as possible. The precompensated carrieris used here, so the MASTER can start demodulation without taking an FFT(replacing the FFT to the MASTER would result in higher bit errorprobability because of false FFT peaks resulting from noise. Noisereceived by SLAVE is lower because of pure S-CDMA transmission by BaseStation).

[0133] During sub-cycle 2, all the receivers of the SLAVES arefreewheeling.

[0134] 3.: SUB-CYCLE 3 (Acknowledging Phase)

[0135] The MASTER answers all messages it could demodulate, but due tocollisions (e.g., SLAVES using the same code) it is possible that notall messages are received. SLAVES can lock in directly because insub-cycle 1, they have taken an FFT and performed acquisition. Insub-cycle 2, they have been freewheeling. SLAVES that didn't got ananswer, can repeat sub-cycles 2 and 3. SLAVES that got an answer, canuse sub-cycle 2 to send a new message.

EXAMPLE 9

[0136] A Method for Constructing Orthogonal Non-binary Digital Codes ofLength N, with N Integer

[0137] Let S be a set of N mutually orthogonal vectors in anN-dimensional vector space, defined with the operations “+” (addition ofvectors) and “.” (scalar product of vectors). Each vector can berepresented by its coordinates with respect to the unity base in thedefined vector space. By definition, the scalar product of every 2vectors out of the set S is equal to zero.

[0138] Now one views these coordinates representations as digitalsequences of a set of digital codes. The cross-correlation of each pairof sequences out of the set S, defined as:

[0139] Σ(Ai*Bi) i=1 to N

[0140] is equal to zero, because the corresponding vectors areorthogonal, and the cross-correlation definition is equivalent to thescalar product of the corresponding vectors.

Example 9A

[0141] (1,0,0,0,0)

[0142] (0,1,0,0,0)

[0143] (0,0,1,0,0)

[0144] (0,0,0,1,0)

[0145] (0,0,0,0,1)

[0146] is the unity base in the 5-dimensional vector space V, +, . . .When applying these coordinates as digital codes, the 1's correspond toactivity (burst), and the 0's correspond to the off-state. Themanipulation mechanisms explained above are also applicable here. Theapplicability of this code generation technique lies in the fact thatorthogonal code sets can be obtained for any length. A set isconstructed starting from a base, consisting of unity vectors, and thenconsecutive base transformations are applied, yielding a new base. Inthe new base, arbitrary gains can be applied to each vector, yielding anorthogonal codes set.

Example 9B

[0147] Example of construction of a non-binary orthogonal code set oflength 5, starting from a base of the 5-dimensional vector space V, +, .

[0148] (1,0,0,0,0) V1

[0149] (0,1,0,0,0) V2

[0150] (0,0,1,0,0) V3

[0151] (0,0,0,1,0) V4

[0152] (0,0,0,0,1) V5

[0153] Suppose one applies subsequent transformations on 2 vectors Aiand Aj as such:

[0154] Ai−>Aj+mod(Aj)/mod(Ai)*Ai

[0155] Aj−>Ai−mod(Ai)/mod(Aj)*Aj

[0156] Then one obtains a new set which is still orthogonal, i.e., thescalar vector product: Ai·Aj=0

[0157] This transformation rotates 2 orthogonal vectors, in the planedefined by these vectors, over 45 degrees, and provides a gain of1/0.707

[0158] Example $\begin{matrix}( {1,0,0,0,0} ) & {V1} & ( {1,1,0,0,0} ) & {{V1} + {V2}} & -> & {V1} & {{{mod}({V1})} = 1.41} \\( {0,1,0,0,0} ) & {V2} & ( {1,{- 1},0,0,0} ) & {{V1} - {V2}} & -> & {V2} & {{{mod}({V2})} = 1.41} \\( {0,0,1,0,0} ) & {V3} & ( {0,0,1,1,0} ) & {{V3} + {V4}} & -> & {V3} & {{{mod}({V3})} = 1.41} \\( {0,0,0,1,0} ) & {V4} & ( {0,0,1,{- 1},0} ) & {{V3} - {V4}} & -> & {V4} & {{{mod}({V4})} = 1.41} \\( {0,0,0,0,1} ) & {V5} & ( {0,0,0,0,1} ) & {V5} & -> & {V5} & {{{{mod}({V5})} = 1}\quad} \\( {1,1,0,0,0} ) & {V1} & \quad & \quad & -> & {V1} & {{{mod}({V1})} = 1.41} \\( {1,{- 1},0,0,0} ) & {V2} & \quad & \quad & -> & {V2} & {{{mod}({V2})} = 1.41} \\( {0,0,1,1,0} ) & {V3} & \quad & \quad & -> & {V3} & {{{mod}({V3})} = 1.41} \\( {0,0,0.707,{- 0.707},1} ) & {{V5} + {1/1.41}} & \quad & {V4} & -> & {V4} & \quad \\( {0,0,1,{- 1},1.41} ) & {{V4} - {1.41/1}} & \quad & {V5} & -> & {V5} & \quad\end{matrix}$

[0159] The advantage of this method is that a fully orthogonal set canbe defined for any dimension (code length).

EXAMPLE 10

[0160] A Method to Generate a Waveform with a Plurality of Orthogonal PNCodes, to Modulate a Plurality of Data Streams, Together with aNon-orthogonal PN-code, Having Good Autocorrelation Properties

[0161] This method comprises the steps of:

[0162] 1. Take a plurality of orthogonal codes (e.g., using thetechniques mentioned above) that are used to spread a plurality of datastreams;

[0163] 2. Combine each of said spread data streams with in-phase BPSKmodulations, and perform the addition, after optional gain control ofeach spread stream;

[0164] 3. Define a PN-code with good autocorrelation properties, andcombine said code with BPSK modulation, which is orthogonal (90 degreesout-of-phase) with the BPSK of step 2.;

[0165] 4. Combine the signals of step 2 and of step 3 as a complexsignal with time-aligned PN-codes.

[0166] The advantage of this code set is that there is a code with goodautocorrelation properties, so acquisition can be done without problems.The cross-correlation properties between the orthogonal codes of step 2and the code of step 3, do not influence the quality of the signalbecause it is“out-phase cross-correlation” See FIG. 2.

EXAMPLE 11

[0167] A Method to Demodulate the Above Waveform

[0168] The method comprises the steps of:

[0169] 1. Search the PN Code start of said code with goodautocorrelation properties;

[0170] 2. Track said PN code with good autocorrelation properties;

[0171] 3. Despread and demodulate said data streams which aretime-aligned with said PN-code with good autocorrelation properties.

[0172] Conclusion

[0173] Certain embodiments provide a new method of multiplexing users ina network using QS-CDMA combined with TDD.

[0174] Certain embodiments provide an apparatus that comprises saidmethod.

[0175] Certain embodiments provide a QS-CDMA-TDD network comprising abase station and user terminals.

[0176] While the above detailed description has shown, described, andpointed out the fundamental novel features of the invention as appliedto various embodiments, it will be understood that various omissions andsubstitutions and changes in the form and details of the systemillustrated may be made by those skilled in the art, without departingfrom the intent of the invention.

1. A method of constructing orthogonal codes of length N for use in anetwork utilizing quasi-synchronous code division multiple accesscombined with time division duplexing, the method comprising: a)determining the balanced vectors of length N, being all possiblecross-correlation vectors resulting from zero cross-correlation of codesof length N; b) providing an arbitrary code of length N; c) performingbitwise XOR-ing with all the balanced vectors determined in a), toproduce a set of codes with which the arbitrary code is orthogonal; d)performing bitwise XOR-ing of the balanced vectors determined in a); e)adding the code to a set of orthogonal codes if the result of d) isbalanced; f) performing a)-e) until the set of orthogonal codes iscomplete; and g) applying the set of orthogonal codes to a plurality ofdata streams in the network so as to provide spread spectrum datastreams.
 2. A method of deriving alternative sets of orthogonal codesfor use in a network utilizing quasi-synchronous code division multipleaccess combined with time division duplexing, the method comprising: a)representing a given orthogonal code set as a matrix in N*N matrixformat with N being an even number for binary codes, and being aninteger for non-binary codes; and b) performing at least one of thefollowing on the N*N matrix of a): Exchanging columns in the matrix;Exchanging rows in the matrix; Inverting columns in the matrix;Inverting rows in the matrix; so as to obtain an alternative set oforthogonal codes.
 3. A method of deriving a subset out of N codes oflength N, with N being an even number for binary codes and being aninteger for non-binary codes, for use in a network utilizingquasi-synchronous code division multiple access combined with timedivision duplexing, for which all mutual cross-correlation functions arezero over more than one subsequent point, starting with the first pointof the cross-correlation function, the method comprising: a) selectingan orthogonal code set; b) deriving alternative sets of orthogonal codesfor use in the network so as to group zeros in the cross-correlationfunction as the first points of the cross-correlation function; c)selecting the solutions which have a well-peaked response byinvestigating auto-correlation functions during the search process; andd) applying the solutions selected in c) to a plurality of data streamsin the network so as to provide spread spectrum data streams.
 4. Amethod of deriving M orthogonal codes of length N+M for use in a networkutilizing quasi-synchronous code division multiple access combined withtime division duplexing, the method comprising concatenating a set of Morthogonal codes of length N and a set of M orthogonal codes of lengthM, respectively.
 5. A method of constructing binary codes for use in anetwork utilizing quasi-synchronous code division multiple accesscombined with time division duplexing from a combination of twodifferent sets of codes, the method comprising: providing a first codeof one of the sets as a generator; providing a second code of one of thesets as a seed; replacing a bit of the first code by the correspondingbit of the second code if the corresponding bit is a zero, or replacingthe bit by the bit-inverse of the corresponding bit of the second codeif the corresponding bit is a one; and applying the resulting code to aplurality of data streams in the network so as to provide spreadspectrum data streams.
 6. A method of fast acquisition ofauto-correlation peaks for use in a network utilizing quasi-synchronouscode division multiple access combined with time division duplexing,using codes with equally-spaced peaks, the method comprising: searchingfor a auto-correlation peak; testing for the validity of the choice; ifthe choice is not correct, testing the next auto-correlation peak; andif the choice is correct, applying the chosen codes to a plurality ofdata streams in the network so as to provide spread spectrum datastreams.
 7. A method of obtaining a higher aggregate network capacitythrough reduction of the cross-correlations between concurrenttransmissions in a network utilizing quasi-synchronous code divisionmultiple access combined with time division duplexing, the methodcomprising extending a direct spread symbol with a partial duplicationof the direct spread symbol, resulting in even cross-correlation.
 8. Atime division duplex communication system using synchronous codedivision multiple access (S-CDMA) communication in the forward linkbetween one master station and multiple slave stations, and quasisynchronous code division multiple access (QS-CDMA) in the return linkbetween the multiple slave stations, the system comprising: a masterstation transmit cycle configured to: synchronize the slave stations toa beacon signal transmitted by the master station, acknowledge each ofthe codes by the one master station from a slave station transmit cyclereceived from any successfully demodulated slave stations, and transmitdirect spread data to any earlier already acknowledged slave stations;the slave station transmit cycle configured to: transmit, by each slavestation having obtained the synchronization, a code selected from a listto the master station, or transmit data, direct spread by the code fromslave stations already having received the acknowledgement from themaster station transmit cycle; and a repeat loop to return the system tothe master station transmit cycle.
 9. A method of constructingnon-binary digital orthogonal code sequences of length N, with N anynatural number, for use in a network utilizing quasi-synchronous codedivision multiple access combined with time division duplexing, themethod comprising: providing a unity base in an N-dimensional vectorspace, V, having operations comprising addition of vectors (+) andscalar product of vectors (.); applying consecutive base transformationsto the base; representing the resulting base vectors by theircoordinates in the N-dimensional vector space to obtain a set oforthogonal codes; and applying the set of orthogonal codes to aplurality of data streams in the network so as to provide spreadspectrum data streams.
 10. The method of claim 9, wherein the basetransformations comprise: selecting two base vectors out of the N basevectors; determining the plane defined by the two base vectors; androtating the two base vectors over the same angle in the plane.